Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Опрацювання файлів з текстовою інформацією

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2005
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Засоби системного програмування
Група:
КІ

Частина тексту файла

Міністерство освіти і науки України НУ ”Львівська політехніка” Кафедра ЕОМ Звіт про виконання лабораторної роботи №10 з курсу: „Засоби системного програмування” на тему Опрацювання файлів з текстовою інформацією Тема роботи: Опрацювання файлів з текстовою інформацією. Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками в створенні програм для опрацювання текстової інформації, що міститься в дискових файлах. Засвоїти основні методи читання, запису даних з дискових файлів текстового типу. Завдання на лабораторну роботу Розробити програмне забезпечення зі застосуванням техніки роботи з дисковими файлами відповідно до заданого варіанту. Програмне забезпечення повинно складатися з декількох модулів. Основна програма вводить та виводить дані які опрацьовуються функціями, що реалізовані як окремі модулі. Назву текстового файлу, в якому містяться дані для опрацювання, передавати через аргументи функції main(). Розміри та значення елементів матриць (в загальному не квадратних) вводити з текстового файлу. Параметри, що задають кількість рядків та стовпців повинні бути іменованими. Пам’ять під матриці виділяти динамічно. Для трикутних матриць (опираючись на їх структуру) виділяти мінімальні об’єми пам’яті. Обмін даними з функцією, що опрацьовує матрицю, виконувати через її аргументи. Результати обчислень записувати в текстовий файл. Назву файлу для запису результатів формувати на основі назви файлу з вхідними даними шляхом заміни розширення. Звернути особливу увагу на обробку помилок, які користувач може зробити при створені текстового файлу з вхідними даними. При вирішенні задач забезпечити дружній інтерфейс з користувачем. Індивідуальне завдання: Перестановка заданих (за запитом) рядків матриці Результати виконання роботи. Текст програми: int input(char *filename,char *filetmp); int output(char *filename,char *filetmp); int sort(char *filetmp); # include <stdio.h> # include <conio.h> # include <string.h> # include "labst_10.h" FILE *fp,*fq,*ftmp; int m,n,*Matrix[100][100]; int main(int argc, char *argv[]) { int j,i; char *filename,*filetmp; clrscr(); n=0;m=0; if (argc!=2) {printf("Eror read file..."); return 0;} else strcpy(filename,argv[1]); strcpy(filetmp,filename); *(filetmp+strlen(filetmp)-4)='\0'; strcat(filetmp,".bin"); if (input(filename,filetmp)==1) { sort(filetmp); printf("\n Output results.."); for(i=0;i<n;i++) { printf("\n"); for(j=0;j<m;j++) printf("M[%d][%d]=%d ",i,j,*Matrix[i][j]); } *(filename+strlen(filename)-4)='\0'; strcat(filename,".out"); output(filename,filetmp); } return 0; } # include <stdlib.h> # include <stdio.h> # include <string.h> # include <io.h> extern FILE *fp,*ftmp; int input(char *filename,char *filetmp) { char *tmp; extern int n,m,*Matrix[100][100]; int i,j; fp=fopen(filename,"rt"); ftmp=fopen(filetmp,"wb"); fscanf(fp,"%s",tmp); if (strstr(tmp,"n=")!=NULL) sscanf((tmp+2),"%d",&n); else if (strstr(tmp,"m=")!=NULL) sscanf((tmp+2),"%d",&m); fscanf(fp,"%s",tmp); if (strstr(tmp,"n=")!=NULL) sscanf((tmp+2),"%d",&n); else if (strstr(tmp,"m=")!=NULL) sscanf((tmp+2),"%d",&m); for(i=0;i<n;i++) for(j=0;j<m;j++) if ((Matrix[i][j]=(int *)malloc(sizeof(int)))==NULL) { printf("Not enought memory!!!"); return 0; } for(i=0;i<n;i++) for(j=0;j<m;j++) { fscanf(fp,"%s",tmp); sscanf(tmp,"%d",Matrix[i][j]); } write(ftmp->fd,Matrix,n*m); fclose(fp); fclose(ftmp); if (n==0 || m==0) {printf("Eror..."); return 0;} else return 1; } # include <stdio.h> # include <io.h> extern FILE *fq,*ftmp; int output(char *filename,char *filetmp) { extern int n,m,*Matrix[100][100]; int i,j; fq=fopen(filename,"wt"); ftmp=fopen(filetmp,"rb"); read(ftmp->fd,Matrix,n*m); if (fq==NULL) {puts("\nEror create output file!!!");return 0; } for(i=0;i<n;i++) { for(j=0;j<m;j++) { fprintf(fq,"%d",*Matrix[i][j]); fprintf(fq,"%s"," "); } fprintf(fq,"%s","\n"); } fclose(fq); fclose(ftmp); return 1; } # include <stdio.h> # include <io.h> extern FILE *ftmp; void sort(char *filetmp) { int line[10],l1,l2,j,i; extern const int n,m; int...
Антиботан аватар за замовчуванням

25.12.2011 10:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини